﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Altairis.FluffyCloud.Data {
    public class TopicAclEntry : AclEntry {
        public const string OperationRead = "read";
        public const string OperationPost = "post";
        public const string OperationEdit = "edit";
        public const string OperationDeleteOwn = "delete-own";
        public const string OperationDeleteAll = "delete-all";
        
        [Required]
        public int TopicId { get; set; }
        public virtual Topic Topic { get; set; }
        
        public override string OperationDisplayName {
            get {
                switch (this.Operation) {
                    case OperationRead:
                        return "Číst příspěvky";
                    case OperationPost:
                        return "Psát příspěvky";
                    case OperationEdit:
                        return "Editovat vlastní příspěvky";
                    case OperationDeleteOwn:
                        return "Mazat vlastní příspěvky";
                    case OperationDeleteAll:
                        return "Mazat cizí příspěvky";
                    default:
                        return this.OperationDisplayName;
                }
            
            }
        }
    }
}
